package com.iflysse.controller;


import com.iflysse.pojo.vo.common.CommonVoResp;
import com.iflysse.pojo.vo.req.*;
import com.iflysse.pojo.vo.resp.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;

@RestController
@RequestMapping("/teacherCourse")
@Api(value = "教师端课程接口")
public class TeacherCourseController {


    /**
     * 发布课程or取消课程
     * @return
     */
//    @PostMapping("/updateCourseStatus")
//    @ApiOperation(value = "修改课程状态：发布课程/取消发布")
//    public CommonVoResp updateCourseStatus(UpdateCourseStatusVoReq updateCourseStatusVoReq){
//        CommonVoResp commonVoResp=new CommonVoResp();
//        commonVoResp.setMsg("修改成功");
//        commonVoResp.setCode(1000);
//        return commonVoResp;
//    }



    /**
     * 教师端课程管理接口，即查询课程详情
     * @param queryTeacherCourseInfoVoReq
     * @return
     */
    @PostMapping("/queryTeacherCourseInfo")
    @ApiOperation(value = "教师端课程管理接口")
    public QueryTeacherCourseInfoVoResp queryTeacherCourseInfo(QueryTeacherCourseInfoVoReq queryTeacherCourseInfoVoReq){
        QueryTeacherCourseInfoVoResp queryTeacherCourseInfoVoResp=new QueryTeacherCourseInfoVoResp();
        queryTeacherCourseInfoVoResp.setCode(1000);
        queryTeacherCourseInfoVoResp.setMsg("查询成功");
        return queryTeacherCourseInfoVoResp;
    }




    /**
     * 教师端查询我的课程
     * @param teacherCourseVoReq
     * @return
     */
    @PostMapping("queryTeacherCourse")
    @ApiOperation("教师端查询我的课程")
    public TeacherCourseVoResp queryTeacherCourse(TeacherCourseVoReq teacherCourseVoReq){
        TeacherCourseVoResp teacherCourseVoResp=new TeacherCourseVoResp();

        List<TeacherCourseResp>resps=new ArrayList<TeacherCourseResp>();
        TeacherCourseResp teacherCourseResp=new TeacherCourseResp();
        teacherCourseResp.setBaseImg("adsasd");
        teacherCourseResp.setCourseName("adafda");
        teacherCourseResp.setUpdateTime("2021-04-01 12:12");
        resps.add(teacherCourseResp);
        teacherCourseVoResp.setResult(resps);

        teacherCourseVoResp.setCode(1000);
        teacherCourseVoResp.setMsg("查询成功");

        return teacherCourseVoResp;
    }


    /**
     * 教师端创建教学班级时查询教学课程列表接口
     * @param teacherCourseVoReq
     * @return
     */
    @PostMapping("/queryAllTeacherCourse")
    @ApiOperation("教师端创建教学班级时查询教学课程列表接口")
    public TeacherAllCourseVoResp queryAllTeacherCourse(TeacherCourseVoReq teacherCourseVoReq){
        TeacherAllCourseVoResp teacherAllCourseVoResp=new TeacherAllCourseVoResp();
        teacherAllCourseVoResp.setCode(1000);
        teacherAllCourseVoResp.setMsg("查询成功");
        List<TeacherCourseResp>courseName=new ArrayList<TeacherCourseResp>();
        TeacherCourseResp teacherCourseResp=new TeacherCourseResp();
        teacherCourseResp.setCourseName("面向对象程序设计");
        teacherCourseResp.setCourseId("1234");
        courseName.add(teacherCourseResp);
        teacherAllCourseVoResp.setResult(courseName);
        return teacherAllCourseVoResp;
    }



    /**
     * 教师端添加课程
     * @param addTeacherCourseVoReq
     * @return
     */
    @PostMapping("addTeacherCourse")
    @ApiOperation("教师端创建我的课程")
    public CommonVoResp addTeacherCourse(AddTeacherCourseVoReq addTeacherCourseVoReq){

        CommonVoResp commonVoResp=new CommonVoResp();

        commonVoResp.setCode(1000);
        commonVoResp.setMsg("创建成功");
        return commonVoResp;
    }

    @PostMapping("/updateTeacherCourse")
    @ApiOperation(value = "教师端修改课程信息接口")
    public CommonVoResp updateTeacherCourse(UpdateTeacherCourseVoReq updateTeacherCourseVoReq){
        CommonVoResp commonVoResp=new CommonVoResp();

        commonVoResp.setCode(1000);
        commonVoResp.setMsg("成功");
        return commonVoResp;
    }


    /**
     * 教师端标签列表
     * @param
     * @return
     */
    @PostMapping("queryLabelList")
    @ApiOperation("教师端标签列表")
    public LabelListVoResp queryLabelList(){

        LabelListVoResp labelListVoResp=new LabelListVoResp();

        List<LabelListResp> labelListResps=new ArrayList<LabelListResp>();
        LabelListResp labelListResp=new LabelListResp();
        labelListResp.setLabelName("Spring");
        labelListResp.setLabelId("1");
        labelListResps.add(labelListResp);

        labelListVoResp.setCode(1000);
        labelListVoResp.setMsg("查询成功");
        labelListVoResp.setResult(labelListResps);

        return labelListVoResp;
    }


    /**
     * 教师端添加标签接口
     * @param addLabelVoReq
     * @return
     */
    @PostMapping("/addLabel")
    @ApiOperation(value = "教师端添加标签")
    public CommonVoResp addLabel(AddLabelVoReq addLabelVoReq){
        CommonVoResp commonVoResp=new CommonVoResp();
        commonVoResp.setCode(1000);
        commonVoResp.setMsg("添加成功");
        return commonVoResp;
    }


    /**
     * 教师端删除标签接口
     * @param deleteLabelVoReq
     * @return
     */
    @PostMapping("/deleteLabel")
    @ApiOperation(value = "教师端删除标签")
    public CommonVoResp deleteLabel(DeleteLabelVoReq deleteLabelVoReq){
        CommonVoResp commonVoResp=new CommonVoResp();
         commonVoResp.setCode(1000);
         commonVoResp.setMsg("删除成功");
         return commonVoResp;
    }


    /**
     * 教师端修改标签接口
     * @param updateLabelVoReq
     * @return
     */
    @PostMapping("/updateLabel")
    @ApiOperation(value = "教师端修改标签")
    public CommonVoResp updateLabel(UpdateLabelVoReq updateLabelVoReq){
        CommonVoResp commonVoResp=new CommonVoResp();
        commonVoResp.setCode(1000);
        commonVoResp.setMsg("修改成功");
        return commonVoResp;
    }

}
